package concesionario.source;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;


public class Exposicion implements Serializable{
   
    private List<Coche> cocheExpo;
    private String lugar;
    private int numerodeExposicion;
    private String telefono; 
    
    public Exposicion(String lg,String tlf){
        
        cocheExpo=new ArrayList<Coche>();
        this.numerodeExposicion=0;
        this.lugar=lg;
        this.telefono=tlf;
    }
    
    //métodos Get
  
   public Coche getExposicion(int i){
    
        return this.cocheExpo.get(i);
        
    }
   public int getSizeExpoCoches(){

       return this.cocheExpo.size();
   
   }
   public int getNumeroExpo(){
   
       return this.numerodeExposicion;
   
   }
   public String getLugar(){
   
       return this.lugar;
   }
   
   //Métodos Set
   
   public void setNumeroExpo(int num){
   
       this.numerodeExposicion=num;
   
   }
   public void setLugar(String lg){
   
       this.lugar=lg;
   }
   public void setTelefono(String tlf){
   
       this.telefono=tlf;
   }
   
   
    //Damos de alta al coche en la Exposición.
    
    public void altaExposicionCoche(Coche c){
        
        cocheExpo.add(c);
        c.setExpo(this);    
    }
   
    //Damos de baja al coche en la Exposición.
    
    public void bajaExposicionCoche(Coche c){
    
        cocheExpo.remove(c);
        if(c.getExpoCoches()==this) 
           c.setExpo(null); 
    }
    //Mostrar exposiciones.
    
  @Override
  public String toString() {
      return this.numerodeExposicion+" "+this.lugar+" "+this.telefono;
  } 
  
  
  //COCHE
  
  public Coche getCoche(int i){
  
      return this.cocheExpo.get(i);
  
  }
  public Coche getCoche(String ma){
   
       boolean encontrado=false;
       int i=0;
       
       while(i<cocheExpo.size() && !encontrado){
           
           encontrado=cocheExpo.get(i).getMatricula().equals(ma);
           if(!encontrado)
               i++;
       }
       if(encontrado){
           return cocheExpo.get(i);
       
       }else
           throw new IllegalArgumentException();
   
   }
  
    
}
    
    
    
    
    

